package com.red.star.macalline.data.mappers;

import com.red.star.macalline.data.core.base.MyMapper;
import com.red.star.macalline.data.entity.MerchantPoster;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * @author nofish.yan@gmail.com
 * @date 2018/4/12.
 * 商场海报数据访问接口
 */
public interface MerchantPosterMapper extends MyMapper<MerchantPoster> {

    /**
     * 导购员的所有商户海报
     *
     * @param employeeId 导购员ID
     * @return 海报集合
     */
    List<MerchantPoster> listByEmployeeId(@Param("employeeId") Integer employeeId);

    /**
     * 根据筛选条件查询商户海报
     *
     * @param merchantPoster 查询条件集合
     * @return 海报集合
     */
    List<MerchantPoster> listAllByFilter(MerchantPoster merchantPoster);

    /**
     * 插入商户海报的所有图片
     *
     * @param merchantPoster 商户海报
     */
    void insertPosterImage(MerchantPoster merchantPoster);

    /**
     * 插入商户海报，并返回ID
     *
     * @param merchantPoster 商户海报
     */
    void insertPosterAndReturnId(MerchantPoster merchantPoster);

    /**
     * 修改商户海报的状态为不可用
     *
     * @param posterId 商户海报ID
     */
    @Select("UPDATE t_merchant_poster SET status = 1 WHERE id = #{posterId}")
    void disablePoster(Integer posterId);

    /**
     * 根据条件查询商场海报管理报表
     */
    List<MerchantPoster> listMerchantPosterManagement(MerchantPoster merchantPoster);

    /**
     * 根据id预览图片
     */
    List<MerchantPoster> findPosterImageByMerchantPosterId(Integer id);

    /**
     * 新增商户海报的标签
     *
     * @param merchantPoster
     */
    void insertPosterTag(MerchantPoster merchantPoster);


}
